package com.xxg.renrenlogin.service;

import com.xxg.renrenlogin.domain.query.CodeLoginQuery;
import com.xxg.renrenlogin.domain.query.TokenLoginQuery;
import com.xxg.renrenlogin.domain.result.BaseResult;

/**
 * 登录接口
 *
 * @author xuxiaogang
 * @date 2021-11-15
 */
public interface LoginService {
    /**
     * token令牌登录
     *
     * @param tokenLoginQuery 令牌信息
     * @return 新的令牌
     */
    BaseResult tokenLogin(TokenLoginQuery tokenLoginQuery);

    /**
     * 获取验证码
     *
     * @param mobile 手机号码
     * @return 结果
     */
    BaseResult getCode(String mobile);

    /**
     * 验证码登录
     *
     * @param codeLoginQuery 验证码
     * @return 结果
     */
    BaseResult codeLogin(CodeLoginQuery codeLoginQuery);

    /**
     * 用户名和密码登陆
     *
     * @param username 用户名
     * @param password 密码
     * @return 结果
     */
    BaseResult passwordLogin(String username, String password);
}
